﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
using Sistema.Dominio.ValidationAttribute;
using System.Runtime.Serialization;


namespace Sistema.Dominio
{
    [DataContract]
    public class TelefoneVO:EntidadeValidavel<TelefoneVO>
    {
        
        private String _numeroTelefone;
        private String _ramal;
        private enumTipoTelefone _tipoTelefone;
     

        /// <summary>
        /// Constructor, preeche as variaveis com valores default, nada fica nulo.
        /// </summary>
        public TelefoneVO()
        {
            this._numeroTelefone = String.Empty;
            this._ramal = String.Empty;
            this._tipoTelefone = enumTipoTelefone.Outros;
        
        }

        [DataMember]
        [Telefone()]
        [Required(ErrorMessage="Campo Telefone é obrigatório.")]
        public String Numero
        {
            get { return _numeroTelefone; }
            set { _numeroTelefone = value; base.RaisePropertyChanged("Numero"); }
        }

        [DataMember]
        public String Ramal
        {
            get { return _ramal; }
            set { _ramal = value; base.RaisePropertyChanged("Ramal"); }
        }

        [DataMember]
        public enumTipoTelefone TipoTelefone
        {
            get { return _tipoTelefone; }
            set { _tipoTelefone = value; base.RaisePropertyChanged("TipoTelefone"); }
        }
        
    }

    public enum enumTipoTelefone
    {
        Celular,
        Comercial,
        Fax,
        Recado,
        Residencial,
        Outros
    }
}
